/*
 * IMediator.java
 *
 * Created on Oct 12, 2007, 8:36:09 PM
 *
 * Copyright (c) October 14, 2007 by Dean Del Ponte
 * http://www.sourceseed.org
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published
 * by  the Free Software Foundation; either version 3 of the License or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Library General Public License for more details.
 *
 * You should have received a copy of the GNU Library General Public License
 * along with this program; see the file COPYING.TXT.  If not, write to
 * the Free Software Foundation Inc., 59 Temple Place - Suite 330,
 * Boston, MA  02111-1307 USA
 */
package org.sourceseed.tools.backup.backThatThingUp;

import java.util.Collection;
import java.util.Map;

/**
 * Interface to be implemented by all backup mediators
 *
 * @author Dean Del Ponte
 */
public interface IMediator {

    BackupConfig getBackupConfig();
    
    void setBackupConfig(BackupConfig backupConfig);
    
    void saveBackupConfig(BackupConfig backupConfig);
    
    Map<String, Project> getProjectManager();

    Collection<Project> getProjects();
    
    Project getProject(String name);

    String getStatus();

    void setProjectManager(Map<String, Project> projectManager);
    
    public void scheduleBackups(Collection<Project> projects);

    void cancelBackups();
    
    void setBackupEngine(IBackupEngine engine);
    
    IBackupEngine getBackupEngine();

}
